package com.easychat.entity.po;

import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.Date;
import com.easychat.entity.enums.DateTimePatternEnum;
import com.easychat.utils.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import javax.sound.sampled.Port;
import java.io.Serializable;


/**
 * 群组表
 */
public class GroupInfo implements Serializable {


	/**
	 * 群ID
	 */
	private String groupId;

	/**
	 * 群名
	 */
	private String groupName;

	/**
	 * 群主
	 */
	private String groupOwnerId;

	/**
	 * 群状态 0：解散 1：正常
	 */
	private Integer status;

	/**
	 * 加入群的方式 0：直接加入1：管理员同意后加入
	 */
	private Integer joinType;

	/**
	 * 群公告
	 */
	private String groupNotice;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;

	/**
	 * 群成员数量
	 */
	private Integer memberCount;
	//群主昵称
	private String groupOwnerNickName;

	public String getGroupOwnerNickName() {
		return groupOwnerNickName;
	}

	public void setGroupOwnerNickName(String groupOwnerNickName) {
		this.groupOwnerNickName = groupOwnerNickName;
	}

	public Integer getMemberCount() {
		return memberCount;
	}

	public void setMemberCount(Integer memberCount) {
		this.memberCount = memberCount;
	}

	public void setGroupId(String groupId){
		this.groupId = groupId;
	}

	public String getGroupId(){
		return this.groupId;
	}

	public void setGroupName(String groupName){
		this.groupName = groupName;
	}

	public String getGroupName(){
		return this.groupName;
	}

	public void setGroupOwnerId(String groupOwnerId){
		this.groupOwnerId = groupOwnerId;
	}

	public String getGroupOwnerId(){
		return this.groupOwnerId;
	}

	public void setStatus(Integer status){
		this.status = status;
	}

	public Integer getStatus(){
		return this.status;
	}

	public void setJoinType(Integer joinType){
		this.joinType = joinType;
	}

	public Integer getJoinType(){
		return this.joinType;
	}

	public void setGroupNotice(String groupNotice){
		this.groupNotice = groupNotice;
	}

	public String getGroupNotice(){
		return this.groupNotice;
	}

	public void setCreateTime(Date createTime){
		this.createTime = createTime;
	}

	public Date getCreateTime(){
		return this.createTime;
	}

	@Override
	public String toString() {
		return "GroupInfo{" +
				"groupId='" + groupId + '\'' +
				", groupName='" + groupName + '\'' +
				", groupOwnerId='" + groupOwnerId + '\'' +
				", status=" + status +
				", joinType=" + joinType +
				", groupNotice='" + groupNotice + '\'' +
				", createTime=" + createTime +
				", memberCount=" + memberCount +
				'}';
	}
}
